System and method for adaptive automated bezel tiling correction for multiple display solution

ABSTRACT

A system, method, and computer-readable medium for performing bezel tiling correction for multiple displays that provides information regarding multiple monitor configuration of a computing system; provides bezel widths of monitors of the multiple monitor configuration; and performs bezel width correction on particular monitors of the multiple monitor configuration based a bezel tiling correction mode that aligns received frames/images that are displayed on the monitors.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to computer monitors. More specifically,embodiments of the invention relate to bezel tiling correction inmultiple display configurations.

Description of the Related Art

Computing applications, including gaming applications, can implementmultiple displays or monitors. To achieve seamless presentation to auser, borderless design can be implemented. Borderless designs allow acontinuous and smooth transition and presentation between adjacentmonitors or displays.

The use of multiple displays can be supported by software, such as by anoperating system (OS) and information handling system (IHS). Also,multiple monitors or displays are supported by graphics cards withmultiple outputs, such as high definition multimedia interface (HDMI),display port, video graphics display (VGA), digital visual interface(DVI), multi-stream transport using a single display port, etc.

A typical problem with monitors or displays, is picture or displaymisalignment between split border monitors or displays, due to bezelwidths of the monitors or displays. Because monitors or displays canhave bezel widths, adjusting monitors for particular applications, suchas games, movies, spreadsheets, etc. that rely on seamless visualtransitions between the monitors or displays, can be an annoying processto a user.

Typically, dedicated high-end graphics adapters or external video wallswitch boxes with high-end graphics cards are implemented to generatehigher resolution frame pixels. A user can be implement manual trial anderror adjustment to compensate or correct for bezel width in a multiplemonitor or display implementation. Bezel width correction can use highperformance graphics cards to render a larger resolution frame and thena user manually shifts the screen frame by trial-and-error method toadjust frame edge pixels to be hidden by the monitor or display bezel.

The present solutions can need high computing graphics processing units(GPU) and relatively large memory resources to generate a higherresolution than native monitor or display resolution, and hide edgepixels to attain a bezel-compensated frame, where the higher resolutionis sent to the monitor or display. The computing cost increases when thenumber of monitors or displays are increased in multiple monitor ordisplay configurations. As discussed, manual trial and error adjustmentcan be needed. The time for manual trial and error adjustment increases,as the number of monitors or displays in a multiple monitor or displayconfiguration increases. Furthermore, a user can desire to switchon/off, or implement different monitor or display bezel tilingcorrections, for different applications, which cannot be easilyimplemented using current implementations.

SUMMARY OF THE INVENTION

A system, method, and computer-readable medium are disclosed for bezeltiling correction in multiple display configuration that providesinformation regarding multiple monitor configuration of a computingsystem; provides bezel widths of monitors of the multiple monitorconfiguration; and performs bezel width correction on particularmonitors of the multiple monitor configuration based a bezel tilingcorrection mode that aligns received frames/images that are displayed onthe monitors.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention can be better understood, and its numerousobjects, features and advantages made apparent to those skilled in theart by referencing the accompanying drawings. The use of the samereference number throughout the several figures designates a like orsimilar element.

FIG. 1 shows a general illustration of a computing system as implementedin the system and method of the present invention.

FIG. 2A shows a multiple monitor or display configuration without bezeltiling correction.

FIG. 2B shows a multiple monitor or display configuration with bezeltiling correction.

FIG. 2C shows a multiple monitor or display configuration without bezeltiling correction for an action adventure game.

FIG. 2D shows a multiple monitor or display configuration with bezeltiling correction for an action adventure game.

FIG. 3 shows multiple monitor or display layouts for no bezel tilingcorrection, standard bezel tiling correction and center-kept bezeltiling correction.

FIG. 4 is a generalized monitor or display showing bezel dimensions andactive image display area.

FIG. 5 shows a user interface that manages bezel tiling correction for amultiple monitor or display configuration.

FIG. 6 shows a submenu user interface that allows a user to select bezelconfiguration for a particular monitor or display.

FIG. 7 shows a flow chart for bezel configuration for a particularmonitor or display.

DETAILED DESCRIPTION

A system, method, and computer readable medium are disclosed forperforming bezel tiling correction in multiple display configurations.In various embodiments, two or more (multiple) monitors or displays areconfigured to operate with a computer or computing systems, wherevarious applications, such as gaming software, spreadsheets, andmovies/videos, etc. are provided by the computer or computing system tothe multiple monitors or displays. In certain implementations, becauseof the bezels of the monitors or displays, correction or compensation isperformed to provide continuous or seamless viewing on the multiplemonitors or displays

FIG. 1 is a generalized illustration of an information handling system100 that can be used to implement the system and method of the presentinvention. The information handling system 100 includes a processor(e.g., central processor unit or “CPU”) 102, input/output (I/O) devices104, such as a display, a keyboard, a mouse, and associated controllers,a hard drive or disk storage 106, and various other subsystems 108. Invarious embodiments, the information handling system 100 also includesnetwork port 110 operable to connect to a network 112, which is likewiseaccessible by a service provider server 114. The information handlingsystem 100 likewise includes system memory 116, which is interconnectedto the foregoing via one or more buses 118. System memory 116 furtherincludes operating system (OS) 120 and applications 122. The I/O devices104 can include a graphics card 124. Applications 122 can include onscreen display or OSD control software, where the OSD control softwareis able to read bezel data, display array position and automaticallyswitch between bezel tiling correction preset modes (i.e., switchbetween bezel tiling correction and to non-bezel tiling correction whenappropriate). The information handling system 100 includes one or moremonitors or displays as represented by monitor or display 126.

In certain implementations, when the monitor or displays are configuredinto a multiple formed into an array, the position of each monitor ordisplay can be acquired from the OS 118, such as a display setting inWindow® or other application such as a display utilities. The monitor ordisplay's relative position can then communicate to the other monitorsand displays of the configuration.

The OS 120 can also provide information on the application type of thevideo being rendered to the monitors or displays. Application types(e.g., Windows® media player, desktop, games, etc.) can be linked todifferent bezel tiling correction modes in the display firmware runningby a scaler chip 128. For example, when switching the applications inWindows®, the bezel tiling correction mode can be automatically switchedto a per pre-defined list.

Graphics card 124 can be connected to monitor or display 126 through oneof various connections 130. For example, connections 130 can includevideo graphics array (VGA), display port (DP), digital visual interface(DVI)and high definition multimedia interface (HDMI), etc. The display126 includes a liquid crystal display (LCD) panel 132. LCD panel 132receives signals from an interface board 134. The interface board 134can further include a backlight driver (not shown) and scaler chip 128.Scaler chip 128 provides various functions including supporting inputsfrom formats such as VGA, DP, DVI, HDMI, etc.—decoding such formats intodigital pixel format and selecting appropriate ports to send the pixelsin a pixel processing pipeline. The scaler chip 128 can be configured toprocess and execute non-transitory, computer-readable storage mediumembodying computer program code, the non-transitory, computer-readablestorage medium, the computer program code interacting with a pluralityof computer operations and comprising instructions executable by thescaler chip 128.

The scaler chip 128 further can include other functions such as imageprocessing, OSD insertion, and overdrive processing. Image processingcan be used to improve image quality. OSD insertion can generate imagesthat are superimposed onto other incoming images. Overdrive processingadjusts pixel values that are sent to the LCD panel 128 to compensatefor dynamic behavior of the LCD elements on the LCD panel 128. Thescaler chip 128 can include components (not shown) such a backlightcontroller, a CPU, and memory controller. In addition, the scaler chipcan have an output interface to a timing control unit or TCON 130. TheTCON 136 receives pixels from the interface board 134 scalar chip 128 inserial format and processes the pixels for the LCD panel 128.

In certain implementations, bezel tiling correction is achieved by usingthe scaler chip 128 to re-generate frame pixels from original graphicscard 124 output. In general, the scaler chip 128 renders video frames tocover areas of the bezel. With bezel width and pixel pitch informationstored within the display 126 system, the scalar chip 128 calculates anew resolution pixel based on a defined algorithm to adjust the extendeddisplay image/picture to overcome the split border across adjacentdisplays or monitors. In certain implementations, the OS 120 is used foradaptive implementation of pixel adjustment/bezel tiling correction indetecting how multiple displays or monitors are aligned (e.g., 3×1portrait-flipped, or 2×2 landscape, or 2×1 portrait, etc.). Furthermore,the OS 120 can utilize user preset/pre-defined modes for smartapplication scene detection, to allow for the following: turn on/offbezel tiling correction (e.g., auto switch on bezel tiling correctionwhen in desktop wall-paper and switch to non-bezel tiling correctionwhen in an application such as Windows® Word or Excel), or switch tocenter-kept bezel tiling correction mode in an action adventure game,and switch to a standard bezel tiling correction mode when playing amovie.

In certain implementations, a bezel corrected frame/image is rendered orscaled by the scaler chip 128, instead of the graphics card 124. Incertain implementations, the OSD control software reads bezel data,monitor or display position in a configuration and automaticallyswitches between correction preset modes, such as switching to standardbezel correction when the OS 120 shows a desktop wallpaper and thenswitching to non-bezel tiling correction when running a particularapplication.

Over-scan is performed by scaling up a video frame/image to fit an areathat covers the monitor or display panel and bezels. Over-scan can bereferred to as scanning the active input video signal (i.e., validcontent) into a wider area. The result will make some content near theedges of the frame/image shifted beyond the monitor or display'sillumination area (i.e., phosphor raster/pixels), and therefore thevisible content will be less and enlarged. For certain implementations,the scaler chip 120 performs the over-scan. In general, first, a videoframe/image is cropped, such that after scaling up the remaining contentwill fill up all the active pixels of the display panel. Second, thecropped fame is scaled up as determined by a particular rendering style.

For a multiple monitor or display configuration, the scaler chip 120performs the over-scan, also in two steps. First, the input videoframe/image is cropped to throw away some pixels from left/right end ofeach line and/or throw away some lines from top/bottom. The resultingcropped frame is put into a buffer. The second step is to scale up theframe horizontally and/or vertically to fill up the display pixels.Scaling saves contents near the edges of the frame/image, as intended tostretch content over the bezels of the multiple monitor or displayconfiguration. Cropping and scaling are further discussed below.

When the displays are formed into an array, the position of each displaycan be acquired from the operation system like Display Setting inWindows or other application like display utilities provided by graphicsvendors. The display's relative position is then communicated to everydisplay.

The OS 120 can also provide information on the application type of thevideo being rendered to the displays. Application types (such as windowsmedia player, desktop, game) are linked to different bezel compensationmodes. When switching the applications in windows, the bezel tilingcorrection mode can be automatically switched per pre-defined list.

FIG. 2A is an example of a multiple monitor or display configuration®without bezel tiling correction. In this example configuration 200,monitors or displays 202, 204, and 206 are arranged in a 3×1 landscapelayout (i.e., three monitors or displays across one level in landscapemode). Other configurations or layouts can also be implemented, such 3×1portrait, 2×2 landscape, 2×1 portrait, etc. In this example, monitor ordisplay 202 has a bezel 208, monitor or display 204 has a bezel 210, andmonitor or display 206 has a bezel 212.

Without bezel tiling correction, it is evident from the scenes circledby sections 214 and 216 that image or scene discontinuity exists. Thelines of the images of the circled sections 214 and 216 do notinterpolate between the bezels 208, 210 and 212 to connect between themonitors or displays.

FIG. 2B is an example a multiple monitor or display configuration withbezel tiling correction. In this example, the configuration 200 isimplemented, where monitors or displays 202, 204, and 206 are arrangedin a 3×1 landscape layout. In this implementation with bezel tilingcorrection, the scenes circled by sections 218 and 220 show continuityof the images or scenes. In other words, compensation/correctionperformed on the bezels 208, 210 and 212 to interpolate the displayedimages or scenes.

FIG. 2C is an example of a multiple monitor or display configurationwithout bezel tiling correction for an action adventure game. In thisexample, the monitors or displays 222, 224, and 226 in a 3×1 landscapelayout. An action adventure game is displayed. It is desirable tomaintain bezel tiling correction for the center of the 3×1 landscapelayout of the monitors or displays 222, 224, and 226 to maintaincontinuity of the images or scenes that are displayed for the game. Itis evident in the areas circled by sections 228 and 230 thatdiscontinuity of images and scenes exists.

FIG. 2D is an example of a multiple monitor or display configurationwith bezel tiling correction for an action adventure game. In thisexample, bezel tiling correction is performed for the center of theimage to maintain continuity of images between monitors or displays 224with 222, and monitors or displays 224 with 226. As evident by the areascircled by sections 232 and 234 with bezel tiling correction continuityof the images is maintained. Such a mode for bezel tiling correction canbe referred to as center-kept mode. In certain implementations, a“built-in” menu 238 is provided in the action adventure game. In certainimplementations, if such a menu 238 resides in the center or middle ofthe image, and in particular at the left or right edge of monitor ordisplay 224, the menu 238 is untouched, while bezel tiling correction isprovided, taking in consideration a monitor's bezel information onadjacent monitors. This is further discussed below as to center-keptmode bezel tiling correction.

FIG. 3 are examples of no bezel tiling correction, standard bezel tilingcorrection and center kept correction for a multiple monitor or display3×1 landscape layout. In such implementations, video frames are receivedto be displayed on the multiple monitor or displays. For configuration302, a received frame shows image or scene discontinuity in the monitorsor displays as illustrated by the areas circled by sections 304 and 306.

For configuration 308, a received frame shows image or scene continuityby interpolating the image elements of the frame. Standard mode bezeltiling correction can be referred to for configuration 308. For standardmode, a cropped frame is linearly scaled up and fills a display framebuffer for each display set. In other words, a cropped frame is linearlyscaled up and fills up the display frame buffer for every display. Imageor scene continuity is maintained by bezel tiling correction as shown byareas circled by sections 310, 312 and 314. Interpolation of the imageelements is provided in the bezels; however, as shown in area circle bysection 314, the dotted portion shows that part of the image element is“hidden” by the bezels. For certain applications, where such imageelement conveys important information such as a menu of application(e.g., menu 238), hiding portions of the image element is notacceptable.

For configuration 316, a received frame shows image or scene continuity,but maintains image elements in the center monitor or display.Center-kept mode bezel tiling correction can be referred to forconfiguration 316. In center-kept mode, the center monitor or display isunchanged while the adjacent monitors or displays are non-linearlyscaled up by taking the center display's bezel into consideration. Incenter-kept mode, the image or scene of the center monitor or display iskept as original without scaling. For the monitors or display at theleft or right side of the center monitor or display, linear/nonlinearcan be applied by partitioning of image frame, e.g., linear scaling canbe applied to the half of the image frame adjacent to the center monitoror display and non-linear scaling can be applied to the other half ofimage frame. Similarly, for other layouts like 1×3 landscape, for amonitor or display on the top or at the bottom, linear scaling can beapplied to the half of the frame adjacent to the center display andnon-linear scaling to the other half of frame while keeping centermonitor's image or scene untouched.

Center-kept mode can be used for certain application scenes, such asgames with built-menus (e.g., menu 238) or software applications withcorner menu buttons in the center view monitor or display, where a usercan want desire to keep frame information integrality with full corneraccess in the center monitor or display while accepting more tolerance(i.e., bezel tiling correction) on adjacent displays or monitors.

FIG. 4 is a generalized monitor or display 400 showing bezel dimensionsand active image display area. Bezel dimensions can be pre-storedfirmware (i.e., scalar chip 120) of the monitor or display 400. Asfurther described below, bezel dimensions can also be edited, forexample with an OSD or application.

An active display 402 showing a frame image or scene on monitor ordisplay 400 is defined by the dimensions of H or horizontal pixels atnative resolution 404 and vertical pixels at native resolution 406. Theactive display 402 shows an image or scene that is made up of a certainnumber of pixels. The bezel of the monitor or display 400 will “hide” anumber of pixels of the frame image or scene. The amount of pixels thatare hidden in by the bezel can depend on the monitor or display size.

Monitor or display 400 is defined by bezel dimensions as follows: bezelwidth top or BW_(T) 408; bezel width bottom or BW_(B) 410; bezel widthright or BW_(R) 412; and bezel width left or BW_(L) 414. Example valuesfor a 27 inch (measured diagonally) monitor or display 400, for a panelpixel pitch (pp) of 0.2331 mm and a native resolution of 2560×1440pixels: BW_(T) 408=5.3 mm or 23 pixels; BW_(B) 410=8.3 mm or 36 pixels;BW_(R) 412=5.3 mm or 23 pixels; and BW_(L) 414=5.3 mm or 23 pixels.Example values for a 24 inch (measured diagonally) monitor or display400, for a panel pixel pitch (pp) of 0.2775 mm and a native resolutionof 1920×1080 pixels: BW_(T) 408=5.3 mm or 19 pixels; BW_(B) 410=8.3 mmor 30 pixels; BW_(R) 412=5.3 mm or 19 pixels; and BW_(L) 414=5.3 mm or19 pixels.

For bezel tiling correction, such as in standard mode or center-kept,frame pixels can be cropped. To determine the number of pixels that arecropped, an algorithm is used. For monitor or display 400 the followingparameters are defined: Bph=Bezel pixel horizontal; Bpv=Bezel pixelvertical; Hc=horizontal pixels at current resolution; Vc=vertical pixelsat current resolution; H=horizontal pixels at native resolution;V=vertical pixels at native resolution; BW=bezel width; pp=pixel pitch.

For certain implementations, bezel width (BW) and pixel pitch (pp) arepre-stored in display firmware, such as in scaler 120, to calculate howmany pixels to be cropped. Example values for BW bezel width (BW) is 5.3mm and pixel pitch (pp) is 0.2745 mm for a 24 inch (measured diagonally)monitor or display.

To calculate the number of pixels that are covered by the bezels,calculations for Bph or bezel pixel horizontal, and Bpv or bezel pixelvertical are performed using the following equations:

${Bph} = \frac{BW*Hc}{H*pp}$ ${Bpv} = \frac{BW*Vc}{V*pp}$

Example values for Hc or horizontal pixels at current resolution is1024; Vc=vertical pixels at current resolution is 768; H or horizontalpixels at native resolution; and V or vertical pixels at currentresolution for a 24 inch (measured diagonally) monitor or display.

For certain implementations, pixel scaling is performed for certainbezel tiling correction modes. The following are examples:

For standard mode, examples of scaling ratios are:

For a 3×1 landscape configuration, V_scaling=1, where H scaling ratio isset to the following:

a) for monitors or displays at left and right sides:

H_scaling=(Hc+Bph)/Hc

b) for monitor or display in-between or in the center:

H_scaling=(Hc+2*Bph)/Hc

For a 1×3 landscape configuration, H_scaling=1, were V scaling ratio isset to the following:

a) for monitors or displays at top and bottom:

V_scaling=(Vc+Bpv)/Vc

b) for monitor or display in-between or in the center:

V_scaling=(Vc+2*Bpv)/Vc

For center-kept mode, examples of scaling ratios are:

For a 3×1 landscape configuration, V_scaling=1, where H scaling ratio isset to the following:

a) for monitors or displays at left and right sides:

V_scaling=(Vc+BpV)/Hc

b) for monitors or displays in-between or in the center:

H_scaling=1

For a 1×3 landscape configuration, H_scaling=1, were V scaling ratio isset to the following:

a) for monitors or displays at top and bottom:

V_scaling=(Vc+2*Bpv)/Vc

b) for monitor or display in-between or in the center

V_scaling=1

Depending on the bezel tiling correction mode and position of a monitoror display in a multiple monitor or display configuration, the totalnumber of pixels to be cropped in horizontal and vertical are calculatedby the following:

H_cropping=Hc*(H_scaling−1)

V_cropping=Vc*(V_scaling−1)

Furthermore, depending on the position of a monitor or display in amultiple monitor or display configuration, the following can be used todetermine how pixels are cropped from the total number of active pixels.H_cropping_left and H_cropping_right denote pixels to be cropped fromleft edge and right edge of each line. V_cropping_top, V_cropping_bottomdenote lines to be cropped from top edge and bottom edge of each frame.

As an example for a 3×1 landscape configuration: For cropped pixels inthe horizontal:

a) monitor or display on the left:

H_cropping_left=0,

H_cropping_right=H_cropping

b) monitor or display on the right:

H_cropping_left=H_cropping,

H_cropping_right=H_cropping

c) monitor or display in-between or in the center:

H_cropping_left=H_cropping/2,

H_cropping_right=H_cropping/2

As an example for a 1×3 landscape configuration: For cropped pixels inthe vertical:

a) monitor or display at the top:

V_cropping_top=0,

V_cropping_bottom=V_cropping

b) display at the bottom

V_cropping_top=V_cropping

V_cropping_bottom=0

c) display in between

V_cropping_top=V_cropping/2,

V_cropping_bottom=V_cropping/2

Therefore, as an example in a 3×1 landscape configuration, where thereare left, center, and right monitors or displays, with no bezel tilingcorrection, no pixels are cropped from the left, center and rightmonitors or displays. In standard mode bezel tiling correction, pixelsat the right bezel of the left monitor are cropped; pixels at both theleft and right bezels of the center monitor or display are cropped;pixels at the left bezel of the right monitor or display are cropped. Incenter-kept bezel tiling correction, pixels at the right bezel of theleft monitor or display and pixels at the left side of the right monitoror display are cropped; no pixels are cropped for the center monitor ordisplay

In certain implementations, frame scaling is performed. In standard modebezel tiling correction, a cropped frame is linearly scaled up and fillsup the display frame buffer for every display. As discussed, H_scalingand V_scaling are respective horizontal and vertical scaling factors.For center-kept mode bezel tiling correction, the center monitor ordisplay is kept as original without scaling (H_scaling=1 andV_scaling=1). For monitors or displays at the left or right side, linearscaling can be, but not limited to, applied to the half of theframe/image adjacent to the center monitor or display and non-linearscaling to the other half of frame/image. Similarly, for a monitor ordisplay on the top or at the bottom a configuration, linear scaling canbe but not limited to applied to the half of the frame/image adjacent tothe center monitor or display and non-linear scaling to the other halfof frame/image.

In certain implementations, partitioning of linear and non-linearportions of the frame/image and the respective scaling factors can bedecided by application type, display size or rendering style. Apre-defined table can be used for look-up. And the corresponding valueswill be applied to the two half frames/images.

FIG. 5 shows a user interface or UI 500 to manage bezel tilingcorrection. In certain implementations, the UI 500 can be presented aspart of a settings program or OSD control software provided by computer102 as part of computing system 100. UI 500 can identify and managevarious applications, such as software programs, games, and multimediapresentations (e.g., movies, videos, etc.). Based on the particularapplication that is being displayed on a multiple monitor or displayconfiguration, a particular bezel tiling correction mode can beperformed on particular monitors or displays. In certainimplementations, a user desires to configure bezel tiling correction oncertain monitors or displays. In such cases, a user can select bezelconfiguration 502 on UI 500.

FIG. 6 is a submenu 600 of UI 500 that is called when a user selectsbezel configuration 502. The submenu 600 allows a user to select amonitor or display from the current configuration from selections 602.After choosing the particular monitor or display from selections 602, auser can choose a particular bezel tiling correction, frame scaling andcropping from selections 604.

Referring to FIG. 7, a flow chart 700 to adjust for bezel tilingcorrection. In certain implementations, such a flow chart 700 candescribe the process when a user calls up UI 500. In this example, theprocess flow chart 700 starts at step 702 wherein an OSD controlsoftware is initiated. At step 704, determination is made as to presentbezel mode. At step 706, further determination is made as to thespecific bezel tiling correction mode, such a no bezel tilingcorrection, standard mode, center-kept or user defined. At block 708, atdetermination is made if a user needs to manually adjust or determinebezel tiling correction. If a user does not desire to adjust ordetermine bezel tiling correction, following the “YES” branch 710 ofblock 708, at step 712 frame cropping is performed. At step 714, framescaling and rendering are performed. At step 716, the flow chart 700 iscompleted. If a user does desire to adjust or determine bezel tilingcorrection, following the “NO” branch 718 of block 708, at step 720bezel configuration is performed. At step 722 a monitor or display ofthe configuration is chosen. At step 725, bezel edge correction isselected for that chosen monitor or display. In certain instances, thechosen monitor or display's width is predetermined/known. At block 726,a determination is made if the bezel width is known. If the bezel widthis known, then following the “YES” branch 728 of block 726, at step 712frame cropping is performed. At step 714, frame scaling and renderingare performed. At step 716, the flow chart 700 is completed. If thebezel width is to be adjusted, then following the “NO” branch 730 ofblock 726, at step 732 manual bezel adjusting is performed. At step 714,frame scaling and rendering are performed. At step 716, the flow chart700 is completed.

As will be appreciated by one skilled in the art, the present inventioncan be embodied as a method, system, or computer program product.Accordingly, embodiments of the invention can be implemented entirely inhardware, entirely in software (including firmware, resident software,micro-code, etc.) or in an embodiment combining software and hardware.These various embodiments can all generally be referred to herein as a“circuit,” “module,” or “system.” Furthermore, the present invention cantake the form of a computer program product on a computer-usable storagemedium having computer-usable program code embodied in the medium.

Any suitable computer usable or computer readable medium can beutilized. The computer-usable or computer-readable medium can be, forexample, but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, ordevice. More specific examples (a non-exhaustive list) of thecomputer-readable medium would include the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a portable compact disc read-only memory (CD-ROM), anoptical storage device, or a magnetic storage device. In the context ofthis document, a computer-usable or computer-readable medium can be anymedium that can contain, store, communicate, or transport the programfor use by or in connection with the instruction execution system,apparatus, or device.

Computer program code for carrying out operations of the presentinvention can be written in an object oriented programming language suchas Java, Smalltalk, C++ or the like. However, the computer program codefor carrying out operations of the present invention can also be writtenin conventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codecan execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer can beconnected to the user's computer through a local area network (LAN) or awide area network (WAN), or the connection can be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Embodiments of the invention are described with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions can beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions can also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions can also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

The present invention is well adapted to attain the advantages mentionedas well as others inherent therein. While the present invention has beendepicted, described, and is defined by reference to particularembodiments of the invention, such references do not imply a limitationon the invention, and no such limitation is to be inferred. Theinvention is capable of considerable modification, alteration, andequivalents in form and function, as will occur to those ordinarilyskilled in the pertinent arts. The depicted and described embodimentsare examples only, and are not exhaustive of the scope of the invention.

Consequently, the invention is intended to be limited only by the spiritand scope of the appended claims, giving full cognizance to equivalentsin all respects.

1. A computer-implementable method for performing bezel tilingcorrection, comprising: providing information regarding multiple monitorconfiguration of a computing system; providing bezel widths of monitorsof the multiple monitor configuration; performing bezel width correctionon particular monitors of the multiple monitor configuration based ondifferent bezel compensation modes linked to application types, whereina bezel tiling correction mode is switched to a pre-defined list whenswitching applications.
 2. The method of claim 1, wherein the bezeltiling correction mode is one of a number of preset modes that arecorrelated to particular software applications that provide theframes/images that are displayed on the monitor.
 3. The method of claim1, wherein the monitors provide information regarding multiple monitorconfiguration is from the monitors and bezel widths to an on screendisplay (OSD) control application that reads bezel data of the monitors,displays the array position of the monitors and performs auto switchingbetween bezel tiling correction modes.
 4. The method of claim 1, whereinthe determining bezel widths of the monitors is selected frompredetermined values or performed by a user.
 5. The method of claim 1,wherein the performing bezel width correction comprises: scaling theframes/images on the particular monitors and cropping pixels of thescaled frames/images that are hidden by the bezels of the particularmonitors based on the bezel tiling correction mode.
 6. The method ofclaim 5, wherein the performing bezel width correction is performed byscaler chips in the monitors of the multiple monitor configuration. 7.The method of claim 5, wherein the scaling the frames/images isperformed by scaler chips in the monitors which regenerate frame/imagepixels from a graphics card.
 8. A monitor comprising: an interfaceboard; a connection couple to the interface board that connects with acomputer; a scaler chip that resides on the interface board configuredto process non-transitory, computer-readable storage medium embodyingcomputer program code, the non-transitory, computer-readable storagemedium, the computer program code interacting with a plurality ofcomputer operations and comprising instructions for: sending bezel datainformation to the computer; receiving frames/images from the computer;performing bezel width correction based on different bezel compensationmodes linked to application types, wherein a bezel tiling correctionmode is switched to a pre-defined list when switching applications. 9.The monitor of claim 8, wherein the bezel data information and otherinformation regarding the monitor are sent to an on screen display (OSD)control application of the computer that reads bezel data of themonitor, displays the array position of the monitor and other monitorsin a multiple monitor display configuration, and performs auto switchingbetween bezel tiling correction modes.
 10. The monitor of claim 9,wherein the OSD control application provides a number of preset bezeltiling correction modes that are correlated to particular softwareapplications that provide the frames/images received from the computer.11. The monitor of claim 8, wherein the sending bezel informationincludes bezel widths of the monitor.
 12. The monitor of claim 8,wherein the performing bezel width correction comprises: scaling theframes/images, and cropping pixels of the scaled frames/images that arehidden by the bezels of the monitor, based on the bezel tilingcorrection mode.
 13. The monitor of claim 12, wherein the scaling theframes/images comprises regenerating frame/image pixels from a graphicscard of the computer.
 14. A non-transitory, computer-readable storagemedium embodying computer program code, the computer program codecomprising computer executable instructions configured for: sendingbezel width information to a computer; receiving frames/images from thecomputer from a particular application; performing bezel widthcorrection based on different bezel compensation modes linked toapplication types, wherein a bezel tiling correction mode is switched toa pre-defined list when switching applications.
 15. The non-transitory,computer-readable storage medium of claim 14, wherein the computerexecutable instructions are further configured for: receiving data froman operating system on the computer as to performing the bezel widthcorrection.
 16. The non-transitory, computer-readable storage medium ofclaim 14, wherein the computer executable instructions are furtherconfigured for: receiving data from an operating system on the computeras other monitors that are part of a multiple monitor configuration. 17.The non-transitory, computer-readable storage medium of claim 14,wherein the computer executable instructions are further configured for:providing the ability to manually adjust the bezel widths of the monitorbased on the bezel tiling correction mode.
 18. The non-transitory,computer-readable storage medium of claim 14, wherein the computerexecutable instructions are further configured for: providing theability to auto switch between bezel tiling correction modes.
 19. Thenon-transitory, computer-readable storage medium of claim 14, whereinthe performing bezel width correction comprise: scaling theframes/images, and cropping pixels of the scaled frames/images that arehidden by the bezels of the monitor, based on the bezel tilingcorrection mode.
 20. The non-transitory, computer-readable storagemedium of claim 19, wherein scaling the frames/images comprisesregenerating frame/image pixels from a graphics card of the computer.